﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TomVanGaever.BCS.Parser
{
    public static class BCSConstants
    {
        public enum MethodType
        {
            Finder,
            SpecificFinder,
            Creator,
            IdEnumerator,
            Updater,
            Deleter
        }

        public const string BUSINESSDATACATALOGSCHEMANAMESPACE = "http://schemas.microsoft.com/windows/2007/BusinessDataCatalog";

        public const string NAME = "Name";
        public const string NAMESPACE = "Namespace";
        public const string VERSION = "Version";
        public const string ESTIMATEDINSTANCECOUNT = "EstimatedInstanceCount";
        public const string TYPE = "Type";
        public const string TYPENAME = "TypeName";
        
        public const string LOBSYSTEMS = "LobSystems";
        public const string LOBSYSTEM = "LobSystem";
        public const string LOBSYSTEMTYPE = "Type";
        public const string LOBSYSTEMTYPEVALUE = "DotNetAssembly";
        
        public const string LOBSYSTEMINSTANCES = "LobSystemInstances";
        public const string LOBSYSTEMINSTANCE = "LobSystemInstance";

        public const string PROPERTIES = "Properties";
        public const string PROPERTY = "Property";

        public const string ENTITIES = "Entities";
        public const string ENTITY = "Entity";

        public const string SHOWINSEARCHUI = "ShowInSearchUI";
        public const string CLASS = "Class";

        public const string IDENTIFIERS = "Identifiers";
        public const string IDENTIFIER = "Identifier";
        public const string IDENTIFIERNAME = "IdentifierName";

        public const string METHODS = "Methods";
        public const string METHOD = "Method";

        public const string PARAMETERS = "Parameters";
        public const string PARAMETER = "Parameter";

        public const string DIRECTION = "Direction";
        public enum DIRECTIONVALUE { Return ,In}
        public const string TYPEDESCRIPTOR = "TypeDescriptor";
        public const string TYPEDESCRIPTORS = "TypeDescriptors";
        public const string ISCOLLECTION = "IsCollection";

        public const string METHODINSTANCES = "MethodInstances";
        public const string METHODINSTANCE = "MethodInstance";
        public const string DEFAULT = "Default";
        public const string RETURNPARAMETERNAME = "ReturnParameterName";
        public const string DEFAULTDISPLAYNAME = "DefaultDisplayName";

        public const string FILTERDESCRIPTORS = "FilterDescriptors";
        public const string FILTERDESCRIPTOR = "FilterDescriptor";
        public enum FILTERTYPE { Wildcard }
        public const string ASSOCIATEDFILTER = "AssociatedFilter";

        public const string RETURNTYPEDESCRIPTORPATH = "ReturnTypeDescriptorPath";
        public const string CREATORFIELD = "CreatorField";
        public const string UPDATERFIELD = "UpdaterField";
        public const string READONLY = "ReadOnly";

        public const string IDENTIFIERENTITYNAME = "IdentifierEntityName";
        public const string IDENTIFIERENTITYNAMESPACE = "IdentifierEntityNamespace";
        
    }
}
